The reason for the document level charge, expressed as a code.
請求書レベルの追加請求の理由コード。


About

Syntax binding
ubl:Invoice / cac:AllowanceCharge / cbc:AllowanceChargeReasonCode
Restricted Syntax Cardinality
0..1
Example
RF
UBL 2.1
XPath
/ Invoice / cac:AllowanceCharge [ cbc:ChargeIndicator = true() ] / cbc:AllowanceChargeReasonCode
Occurrence
0..1
Datatype
AllowanceChargeReason_CodeType
UBL Definition
A mutually agreed code signifying the reason for this allowance or charge.
Namespace
cbc urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2

Semantic

Business Term

Document level charge reason code

請求書レベルの追加請求の理由コード
ID
ibt-105
Description
The reason for the document level charge, expressed as a code.
請求書レベルの追加請求の理由コード。
Aligned Cardinality
0..1
Semantic datatype
Code

Code list

UNCL5189
Allowance reason codes (UNCL5189 subset)
UNCL7161
Charge reason code (UNCL7161)

VERSION 1.0 RULES

Unchanged
Same as 0.9.3

VERSION 0.9.3 RULES
JP PINT 0.9.3 Shared rules
ibr-038(fatal)
Unchanged
Same as 0.9.2
ibr-cl-20(fatal)
Changed Message
[ibr-cl-20]-Coded charge reasons (ibt-105, ibt-145) MUST belong to the UNCL 7161 code list
context
cac:AllowanceCharge[cbc:ChargeIndicator = true()]/cbc:AllowanceChargeReasonCode
test
(
  (
    not(contains(normalize-space(.), ' ')) and
    contains(' AA AAA AAC AAD AAE AAF AAH AAI AAS AAT AAV AAY AAZ ABA ABB ABC ABD ABF ABK ABL ABN ABR ABS ABT ABU ACF ACG ACH ACI ACJ ACK ACL ACM ACS ADC ADE ADJ ADK ADL ADM ADN ADO ADP ADQ ADR ADT ADW ADY ADZ AEA AEB AEC AED AEF AEH AEI AEJ AEK AEL AEM AEN AEO AEP AES AET AEU AEV AEW AEX AEY AEZ AJ AU CA CAB CAD CAE CAF CAI CAJ CAK CAL CAM CAN CAO CAP CAQ CAR CAS CAT CAU CAV CAW CAX CAY CAZ CD CG CS CT DAB DAD DAC DAF DAG DAH DAI DAJ DAK DAL DAM DAN DAO DAP DAQ DL EG EP ER FAA FAB FAC FC FH FI GAA HAA HD HH IAA IAB ID IF IR IS KO L1 LA LAA LAB LF MAE MI ML NAA OA PA PAA PC PL RAB RAC RAD RAF RE RF RH RV SA SAA SAD SAE SAI SG SH SM SU TAB TAC TT TV V1 V2 WH XAA YY ZZZ ',
      concat(' ', normalize-space(.), ' ')
    )
  )
)
ibr-sr-31(fatal)
Changed Message
[ibr-sr-31]-Document level charge reason (ibt-105) MUST occur maximum once
context
//cac:AllowanceCharge[cbc:ChargeIndicator = true()]
test
(count(cbc:AllowanceChargeReason) <= 1)

VERSION 0.9.2 RULE
JP PINT 0.9.2 Shared rule
ibr-038(fatal)
Still valid
[ibr-038]-Each Document level charge (ibg-21) MUST have a Document level charge reason (ibt-104) or a Document level charge reason code (ibt-105).
context
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
/cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()]
test
exists(cbc:AllowanceChargeReason) or
exists(cbc:AllowanceChargeReasonCode)

VERSION 0.9.1 RULES
Obsoleted
Shared rules (0.9.1)
ibr-038 (fatal)
[ibr-038]-Each Document level charge (ibg-21) MUST have a Document level charge reason (ibt-104) or a Document level charge reason code (ibt-105).
context
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
/cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()]
test
exists(cbc:AllowanceChargeReason) or
exists(cbc:AllowanceChargeReasonCode)
ibr-cl-20 (fatal)
[ibr-cl-20]-Coded charge reasons (ibt-105 ibt-145) MUST belong to the UNCL 7161 code list
context
cac:AllowanceCharge[cbc:ChargeIndicator = true()]/cbc:AllowanceChargeReasonCode
test
(
  (
    not(contains(normalize-space(.), ' ')) and
    contains(' AA AAA AAC AAD AAE AAF AAH AAI AAS AAT AAV AAY AAZ ABA ABB ABC ABD ABF ABK ABL ABN ABR ABS ABT ABU ACF ACG ACH ACI ACJ ACK ACL ACM ACS ADC ADE ADJ ADK ADL ADM ADN ADO ADP ADQ ADR ADT ADW ADY ADZ AEA AEB AEC AED AEF AEH AEI AEJ AEK AEL AEM AEN AEO AEP AES AET AEU AEV AEW AEX AEY AEZ AJ AU CA CAB CAD CAE CAF CAI CAJ CAK CAL CAM CAN CAO CAP CAQ CAR CAS CAT CAU CAV CAW CAX CAY CAZ CD CG CS CT DAB DAD DAC DAF DAG DAH DAI DAJ DAK DAL DAM DAN DAO DAP DAQ DL EG EP ER FAA FAB FAC FC FH FI GAA HAA HD HH IAA IAB ID IF IR IS KO L1 LA LAA LAB LF MAE MI ML NAA OA PA PAA PC PL RAB RAC RAD RAF RE RF RH RV SA SAA SAD SAE SAI SG SH SM SU TAB TAC TT TV V1 V2 WH XAA YY ZZZ ',
      concat(' ', normalize-space(.), ' ')
    )
  )
)

JP PINT 0.9 RULES
Obsoleted
Shared Rules (0.9)
ibr-38(fatal)
[ibr-38]-Each Document level charge (ibg-21) shall have a Document level charge reason (ibt-104) or a Document level charge reason code (ibt-105).
context
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()]
test
exists(cbc:AllowanceChargeReason) or
exists(cbc:AllowanceChargeReasonCode)

PEPPOL BIS BILLING 3.0 RULES
EN16931 model bound to UBL rules
BR-38 (fatal)
Each Document level charge (BG-21) shall have a Document level charge reason (BT-104) or a Document level charge reason code (BT-105).
context
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
/cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()]
test
exists(cbc:AllowanceChargeReason) or
exists(cbc:AllowanceChargeReasonCode)
BR-CO-06 (fatal)
Document level charge reason code (BT-105) and Document level charge reason (BT-104) shall indicate the same type of charge.
context
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
/cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()]
test
true()
BR-CO-22 (fatal)
Each Document level charge (BG-21) shall contain a Document level charge reason (BT-104) or a Document level charge reason code (BT-105), or both.
context
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] |
/cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()]
test
exists(cbc:AllowanceChargeReason) or
exists(cbc:AllowanceChargeReasonCode)